<?php
// +----------------------------------------------------------------------
// | RXThinkCMF框架 [ RXThinkCMF ]
// +----------------------------------------------------------------------
// | 版权所有 2017~2020 南京RXThinkCMF研发中心
// +----------------------------------------------------------------------
// | 官方网站: http://www.rxthink.cn
// +----------------------------------------------------------------------
// | Author: 牧羊人 <1175401194@qq.com>
// +----------------------------------------------------------------------

namespace app\admin\widget;


use think\facade\View;
use think\template\TagLib;

/**
 * 日期标签组件
 * @author 牧羊人
 * @since 2020/7/3
 * Class Date
 * @package app\admin\taglib
 */
class Date extends TagLib
{
    // 自定义标签列表
    protected $tags = [
        'select' => ['attr' => 'param,value', 'close' => 0],
    ];

    /**
     * 日期选择标签
     * @param $tag 标签参数
     * @return string
     * @author 牧羊人
     * @since 2020/7/4
     */
    public function tagSelect($tag)
    {
        // 组件参数
        $param = trim($tag['param']);
        // 组件值
        $value = $tag['value'];
        // 拆解参数
        $item = explode("|", $param);
        // 组件名称
        $dateName = strpos(trim($item[0]), '$') !== false ? ("{" . trim($item[0]) . "}") : trim($item[0]);
        // 提示语
        $dateTips = strpos(trim($item[1]), '$') !== false ? ("{" . trim($item[1]) . "}") : trim($item[1]);
        // 日期类型
        $dateType = trim($item[2]);
        // 日期间隔
        $dateSpan = isset($item[3]) && !empty($item[3]) ? $item[3] : "";
        // 日期间隔符
        $dateStr = isset($item[4]) && !empty($item[4]) ? $item[4] : "";

        // 绑定数据
        View::assign("dateName", $dateName);
        View::assign("dateTips", $dateTips);
        View::assign("dateType", $dateType);
        View::assign("dateValue", "{" . $value . "}");
        View::assign("dateSpan", $dateSpan);
        View::assign("dateStr", $dateStr);
        // 渲染模板
        return View::fetch("widget/date_select");
    }
}